The disclosures herein relate generally to computer systems, and more particularly, to a method and apparatus for testing custom-configured software/hardware integration in a computer system build-to-order manufacturing process.
A build-to-order (BTO) computer system manufacturing process is driven by menu selection of peripherals, operating system, and application(s), via on-line or telephone. Selections include basic system, RAM, ROM, processor, plug-in cards, operating system (OS), and software applications (e.g., Office 97, WP). There exists a large selection to order from and the BTO computer manufacturer has no prior knowledge of what a customer will order. BTO involves mass configuration/customization where each configuration may be built to an order size of one.
With reference to FIG. 1, in the BTO manufacturing process 10, a customer order drives what hardware is to be assembled (Step 12) for a given custom configured computer system. After hardware assembly, the target system is put into a burn rack (Step 14). In the burn rack (Step 14), hardware is tested (Step 16) (e.g., using software based tools and utilities) and software downloaded (Step 18). During software download (Step 18), the software is layered onto the hard disk drive of the target system. There exist separate software components i) for the OS, ii) for drivers that are specific to plug-in cards and other devices which have been added to a custom configured computer system, and iii) for various applications, which have been ordered with the custom configured computer system.
As discussed, the software components are layered onto the hard drive of the target system in accordance with the customer order (Step 18). There may be some amount of adjustments/modifications which are made to the downloaded software to account for interactions, in certain instances, for use later during OS setup. For instance, a software driver may support several different plug-in cards and an adjustment to the configuration of the software driver may be required to handle interoperability between components. Upon completion of processing in the burn rack, the custom configured computer system is scanned for viruses, packaged, and shipped to the customer.
With the previous manufacturing model as discussed with respect to FIG. 1, the OS completes its own setup and configuration, the installation of the software drivers, and the installation of applications, at the customer site upon first customer boot. During this first boot at the customer site, files are copied, hardware is viewed/verified by the OS, applications are installed, time zone is set, etc., as discussed below with reference to a customer model 20 of FIG. 2.
With reference now to FIG. 2, customer model 20 resulting from the BTO manufacturing model of FIG. 1 is presented. The customer model 20 begins with a customer connecting system components together (Step 22) such as the keyboard, monitor, pointing device, etc. to the base unit of the computer system and powering the computer system ON. In a next step, the customer agrees to a typical software license agreement (Step 24). Subsequently, the OS begins an initial setup phase which may consume from fifteen (15) to thirty (30) minutes to complete (Step 26). During the initial setup phase, the computer system may appear to the customer to be hung or non-operational. In Step 28, if the system appears locked up (or hung) and the customer cycles the power OFF/ON, then the customer model advances to Step 30 for obtaining technical support. If the power is not cycled OFF/ON in Step 28, then the process continues at Step 32. In Step 32, if CANCEL is accidentally selected such as on the monitor screen by the customer, then the process advances to Step 30 for obtaining technical support, otherwise the process advances to Step 34. In Step 34, the customer ordered applications are installed into the target OS which consumes anywhere from five (5) to fifteen (15) minutes or more, depending upon the particular applications being installed. In Step 38, an inquiry is made internal to the computer system to determine if the system and all components are working correctly. If not, then the process advances to Step 30 for obtaining technical support. Obtaining of technical support can include troubleshooting the computer system by reading the owner""s manual or contacting the manufacturer""s technical support hotline. The manufacturer""s technical support hotline can typically assist the customer over the phone, for example, in restoring the system to an as-shipped condition. Such assistance might involve the shipping of a recovery CD-ROM, replacement hard disk drive, replacement component, or a new computer system to the customer. In the instance of returning the computer system to an As-Shipped condition, the customer model would then repeat beginning at Step 24. If in Step 38 the system and all components are working correctly, then in Step 40, the computer system is ready for customer use. The total time elapsed for the customer in setting up the new computer system is approximately twenty (20) to forty-five (45) minutes, provided that no problems were encountered during the setup. Upon the occurrence of any problems, the total time elapsed will be increased accordingly.
The BTO process as described above is what is referred to as a xe2x80x9cspray and prayxe2x80x9d manufacturing model. That is, the computer manufacturer sprays the bits down onto the hard disk drive and prays that when the customer performs the initial computer system setup at the customer site, long after the manufacturer has touched the computer system, that the computer system initial setup works well. With the spray and pray model, there is no guarantee that the setup completed. There is also no check of the final computer system, both software and hardware, integrity. With this model, the set-up is not complete until the computer system is at the customer site and undergoes the OS setup.
Because each custom built computer system includes a unique configuration, where the components can be different from one system to another, there was no readily available way to verify that everything on a given computer system was installed correctly and working properly. In such an instance, a customer""s action of not calling the manufacturer for technical support was an indication that the OS setup was successful. In addition, the OS setup may have completed to a certain level at which the customer didn""t recognize that the OS setup did not completely set up.
As discussed, each configuration is an order size of one, with the possibility that each system could be completely different. Every single possible combination of computer system configuration (hardware and software) can not be tested using traditional testing techniques. To do so would render the BTO manufacturing process economically unacceptable and would further unduly lengthen the development process. Rather than test every custom computer system configuration, only a limited number or percentage of the configurations are tested (i.e. those configurations which are high runners). This however results in a very large number of configurations that do not get tested. For instance, the manufacturer may offer ten (10) base systems by ten (10) peripherals, by ten (10) other peripherals, by ten (10) applications, by ten (10) other applications, by ten (10) peripherals, etc. which would result in too many combinations to test economically and in a timely manner. All of the combinations come together for producing completely unique systems. Thus with a build-to-order manufacturing process, an extremely large number of unique computer system configurations are possible. Furthermore, the set of all possible computer system configurations cannot be tested in the development portion of a build-to-order manufacturing process on an economically and timely basis to ensure that all possible interactions between the various software and hardware components have been identified prior to introduction of a new hardware or software component.
In the prior manufacturing process, tests may have been run to ensure as much as possible that defective component parts would not leave the factory. Components could be individually tested, however, as discussed above, it was not possible to test all configurations of components. A situation might arise, for example, in which a first component A and a second component L were installed in a computer system where the two components needed a common resource but could not share the resource. At the customer site, the two components (A and L) might end up interfering with one another during OS setup. Independently, each component may have tested acceptable at the factory, however, the components were found to not work together in combination at the customer site. The components were not tested together with the OS that a customer intended to run. Instead, the components were individually tested using software tests, prior to installing the OS on the target system.
In a typical computer system, the OS (e.g., Windows 95 (W95), Windows 98 (W98), Windows NT (NT4 or NT5) from Microsoft Corporation, of Redmond, Wash. or other OS) requires that at an initial boot (such as, when a customer powers ON the computer system for the very first time), a lengthy process of software installation, hardware detection, and hardware/software configuration be executed. Such a process can take between twenty (20) and forty-five (45) minutes for many custom-configured build-to-order computer systems, and generates considerable user confusion. In addition, any interruption of this process may result in a system state that cannot be recovered without reinstalling the OS. Reinstalling the OS causes additional frustration for the customer and increases the cost of the computer system through technical support calls and in some instances, replacement of hard disk drives which are not otherwise faulty.
The method of installing an OS occurring as it does at a customer site, does not allow for a build-to-order computer system manufacturer to fully test the fully integrated hardware and software of a given custom configured computer system prior to the computer system being shipped to a respective customer. In such a method, final integration actually occurs at the customer site.
With the above described xe2x80x9cspray and prayxe2x80x9d manufacturing process, in the manufacture of a build-to-order computer system, the manufacturer performed as much testing as could reasonably be afforded, sprayed the appropriate bits onto a given computer""s hard drive, and prayed that the installation/configuration/setup process went well at first customer boot.
It would thus be desirable to provide a BTO manufacturing process having an extensive system integrity check. Such a system integrity check should test that the software is the correct software, the hardware is the correct hardware, and the interoperability of the software and hardware is what it is intended to be for the particular custom built target computer system.
According to one embodiment, a build-to-order manufacturing method for producing a custom configured computer system includes obtaining a customer order. Hardware for the custom configured computer system is assembled in accordance with the customer order. The assembled hardware is then tested using software tools and utilities. Next, software is downloaded to the computer system in accordance with the customer order, the software including an operating system. Lastly, a fully integrated system test is performed. The fully integrated system test including the execution of an OS setup and testing of the fully integrated hardware and software from the operating system""s perspective prior to shipment to a customer.
The embodiments of the present disclosure advantageously enable a high level of system integrity to be confirmed in a custom configured computer system build-to-order manufacturing process, including checking that the software is the correct software, the hardware is the correct hardware, and that the interoperability of the software and hardware is what it is intended for the particular custom built target computer system.